#!/usr/bin/env node

const fs = require('fs');
const path = require('path');
const events = require('events');

// 设置事件监听器限制
events.EventEmitter.defaultMaxListeners = 20;
process.setMaxListeners(20);

// 检查是否在用户项目中安装
if (process.env.INIT_CWD === process.cwd()) {
  // 这说明是在包自身安装依赖，不需要运行初始化
  process.exit(0);
}

const configPath = path.join(process.env.INIT_CWD, 'iconfontConfig.js');
const packageJsonPath = path.join(process.env.INIT_CWD, 'package.json');

if (!fs.existsSync(configPath)) {
  const defaultConfig = `
module.exports = {
    username: "",
    password: "",
    projectName: "",
    saveDir: "./iconfont",
    exclude: []
};
`;

  fs.writeFileSync(configPath, defaultConfig);
  console.log('已创建默认配置文件 iconfontConfig.js，请填写配置后重新运行');
} else {
  console.log('配置文件 iconfontConfig.js 已存在');
}

if (fs.existsSync(packageJsonPath)) {
  const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));

  if (!packageJson.scripts) {
    packageJson.scripts = {};
  }
  packageJson.scripts['iconfont-downloader-tools'] = 'iconfont-downloader-tools';

  fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2));
  console.log('已在 package.json 中添加运行 iconfont-downloader-tools 的命令');
} else {
  console.log('未找到 package.json 文件，无法添加自定义脚本');
}